From: Keir Fraser Date: Fri, 20 Mar 2009 08:42:14 +0000 (+0000) Subject: hvm: Allow HVM guests direct access to 0xed debug/delay port X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~13992^2~23 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=f7ffd86d525591a1ade3554b5275a7fe604c0553;p=xen.git hvm: Allow HVM guests direct access to 0xed debug/delay port Port 0x80 is already passed-through. Writes to port 0x80 are traditionally used as IO delay. Recent Linux kernel versions can be configured to use port 0xed instead (CONFIG_IO_DELAY_0XED=3Dy). Ubuntu 8.04 and later kernels are configured to use port 0xed. In Linux IO delay is implemented by (in|out)[bwl]_p. From a first glance at Linux it looks like the only relevant usage of delayed IO is in drivers/video/console/vgacon.c. Affected is VGA console initialization and font setup. Output / scrolling is not affected. Signed-off-by: Thomas Friebel --- diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index c8c53c6244..9a6d6cd5a1 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -74,11 +74,12 @@ void hvm_enable(struct hvm_function_table *fns) printk("HVM: %s enabled\n", fns->name); /* - * Allow direct access to the PC debug port (it is often used for I/O - * delays, but the vmexits simply slow things down). + * Allow direct access to the PC debug ports 0x80 and 0xed (they are + * often used for I/O delays, but the vmexits simply slow things down). */ memset(hvm_io_bitmap, ~0, sizeof(hvm_io_bitmap)); __clear_bit(0x80, hvm_io_bitmap); + __clear_bit(0xed, hvm_io_bitmap); hvm_funcs = *fns; hvm_enabled = 1;